<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div{width:20px;height:20px;border-radius: 50%;background: black;line-height:20px;color:#fff;text-align:center;position: absolute;left:0;top:0;display:none;}
    </style>
</head>
<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <div>4</div>
    <div>5</div>
    <div>6</div>
    <div>7</div>
    <div>8</div>
    <div>9</div>
</body>
<script>

    var divs = document.querySelectorAll("div");
    
    // 记录移动事件触发的次数
    var n=0;
    document.onmousemove = function(eve){
        var e = eve || window.event;
        // 判断移动的次数是否超出了最大索引
        if(n < divs.length){
            // 每移动一次，只多显示一个元素，直到显示所有
            divs[n].style.display = "block";
            n++;
        }
        
        // 先将后一个元素设置到前一个元素的位置
        for(var i=divs.length-1;i>0;i--){
            divs[i].style.left = divs[i-1].offsetLeft + "px";
            divs[i].style.top = divs[i-1].offsetTop + "px";
        }
        
        // 最后操作第一个跟随鼠标的位置
        divs[0].style.left = e.pageX + "px";
        divs[0].style.top = e.pageY + "px";
    }
    
</script>
</html>